//Game.h
#ifndef _GAME_
    #define _GAME_

#include <SDL/SDL.h>
#include <SDL/SDL_TTF.h>

#include "Define.h"

#include "GameState/GameStateManager.h"
#include "FPS.h"

#include "Event.h"
#include "Drawing/Surface.h"


//Class to create Game instance
class Game: public Event {
  public:

//No argument constructor
        Game();

//Executes the game
        int OnExecute();

//Returns a bool value based on if the initialization occurs
        bool OnInit();

//Reacts when an event occurs
        void OnEvent(SDL_Event* Event);

//Closes all instances of Game that are running
        void OnExit();

//Loops when movement occurs in the Game
        void OnLoop();

//Loads and draws the map
        void OnRender();

//Cleans the Game instances open
        void OnCleanup();

//sets the value of Running
        void setRunning(bool isRunning);

  private:
        bool            Running;

        SDL_Surface*    Surf_Display;
        //TTF_Font*       Font;

};

#endif
